package engine.graphics.vfx
{
	import away3d.core.base.*;
	import away3d.core.managers.*;
	
	import engine.graphics.resources.*;
	import engine.graphics.shader.*;
	import engine.math.*;
	
	import flash.display3D.*;
	
	public class RxShaderFamilyBaseFX extends RxShaderFamilyBase
	{
		protected var m_texture:RxGPUTexture2D;
		protected var m_texcMatrix0:RxMatrix4x4;
		protected var m_texcMatrix1:RxMatrix4x4;
		protected var m_frameBlend:Number;
		protected var m_refractionWidthScale:Number;
		protected var m_refractionHeightScale:Number;
		protected var m_refractionLayer:uint;
		protected var m_refractionTexture:RxGPUTexture2D;
		protected var m_refractionScaleOffset:RxVector4;
		protected var m_xrayColor:RxVector4;
		public static const FEATURE_DEFAULT:uint = 0;
		public static const FEATURE_REFRACTING:uint = 1;
		public static const FEATURE_FRAME_BLEND:uint = 2;
		public static const FEATURE_XRAY:uint = 4;
		
		public function RxShaderFamilyBaseFX(param1:Context3D)
		{
			super(param1);
			this.m_texture = null;
			this.m_texcMatrix0 = new RxMatrix4x4();
			this.m_texcMatrix1 = new RxMatrix4x4();
			this.m_frameBlend = 0;
			this.m_refractionLayer = 0;
			this.m_refractionWidthScale = 1;
			this.m_refractionHeightScale = 1;
			this.m_refractionTexture = null;
			this.m_refractionScaleOffset = new RxVector4();
			this.SetRefractionScale(1);
			this.m_xrayColor = new RxVector4();
		}
		
		public function SetRefractionScale(param1:Number) : void
		{
			this.m_refractionScaleOffset.x = 2 * param1;
			this.m_refractionScaleOffset.y = -param1;
			this.m_refractionScaleOffset.z = 0;
			this.m_refractionScaleOffset.w = 0;
		}
	}
}